#!/bin/bash
# 


I2C_BUS=1
I2C_SLAVE_ADDR=0x0b

# 输出I2C某从机，连续地址16个地址数据，每数据宽度2byte，最后输出成i2cset的格式
# 复制输出内容就能完成回写
#
# $1 总线地址
# $2 设备地址
# $3 设备内部起始地址，从这个地址开始后面16个地址连续输出
function get16addr()
{
    bus=$1
    dev=$2
    addr=$3


    for((i=0; i<=15; i++));  
    do   
        VAL=$(i2cget -y -f $bus $dev $(($addr+$i)) w)
        echo i2cset -y -f $bus $dev $(($addr+$i)) $VAL w
    done      

}





echo "# 0x18x 范围"
get16addr $I2C_BUS $I2C_SLAVE_ADDR 0x80
echo "# 0x19x 范围"
get16addr $I2C_BUS $I2C_SLAVE_ADDR 0x90
echo "# 0x1Ax 范围"
get16addr $I2C_BUS $I2C_SLAVE_ADDR 0xa0
echo "# 0x1Bx 范围"
get16addr $I2C_BUS $I2C_SLAVE_ADDR 0xb0
echo "# 0x1Cx 范围"
get16addr $I2C_BUS $I2C_SLAVE_ADDR 0xc0
echo "# 0x1Dx 范围"
get16addr $I2C_BUS $I2C_SLAVE_ADDR 0xd0
